#!/usr/bin/env python3
#-*- coding:utf-8 -*-

import sys
import logging

from echo3Ways import *

def main():
	# Construir logger.
	logger = logging.getLogger('echo3Ways.log')
	hl = logging.FileHandler('echo3Ways.log')
	formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
	hl.setFormatter(formatter)
	logger.addHandler(hl)
	logger.setLevel(logging.INFO)

	# Construir stream de errores.
	errores = logging.getLogger('echo3Ways.err')
	he = logging.FileHandler('echo3Ways.err')
	he.setFormatter(formatter)
		# Para usar stderr/stdout como loggers
		# console = logging.StreamHandler()
		# console.setFormatter(formatter)
		# errores.addHandler(console);
	errores.addHandler(he)
	errores.setLevel(logging.ERROR);	

	# Construir stream de entrada: stdin
	#  Falta encapsular la lectura de un archivo para que "saltee" los registros que estan informados en "tarea.err".

	# Construir stream de salida: stdout

	## Conjunto de tareas a realizar.
	##  Ejemplo de un conjunto: stdin > echo3Ways > echo3Ways > stdout.
	# tareas = (echo3Ways(inputFile, outputFile, logger, errores), echo3Ways(outputFile,sys.stdout, logger, errores) );
	# foreach (t in tareas):
	# 	# La tarea se vuelve a realizar hasta que se realizar sin errores.
	#	while (echo.do() != NOERROR):
	# 		pass;
	#

	echo = echo3Ways(sys.stdin, sys.stdout, logger, errores)
	echo.do()

if __name__ == '__main__':
	sys.exit(main())

